﻿using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Customers;
using System;
using System.Collections.Generic;

namespace Nop.Plugin.Misc.Reservations.Models
{
    public enum StatusMessageType
    {
        Success = 0,
        Warning = 1,
        Error = 2,
        Other = 3,
    }

    public class ReservationViewModel
    {
        public ReservationViewModel()
        {
            BookedReservations = new List<Reservation>();
            FeaturedAdditionalProducts = new List<Product>();
            StatusMessage = new Dictionary<int, string>();
        }

        public Customer CurrentCustomer { get; set; }
        public Product SelectedProduct { get; set; }
        public int Quantity { get; set; }
        public IList<Reservation> BookedReservations { get; set; }
        public IList<Product> FeaturedAdditionalProducts { get; set; }
        public DateTime SelectedDate { get; set; }
        // key: StatusMessageType, value: Message
        public IDictionary<int, string> StatusMessage { get; set; }
    }
}
